package cn.jiahua.test8;

import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;

public class Test {

        /**
         * Arraylist线程不安全  ?
         * @param args
         */
        public static void main(String[] args) {
            //Arraylist线程不安全  ?
            //1.是老版本的类  Vector 实现同步功能   List<String> list= new Vector<>();
            //2.List<String> list =Collections.synchronziedList(new ArrayList<>);
            /**
             *3.List<String > list=new CopyOnWriteArrayList();
             *写入时复制，  COW模式  是计算机程序设计领域的一种优化策略
             * 第三种方式是最佳的选择。
             */
            List<String> list=new CopyOnWriteArrayList<>();
            for (int i=0;i<100;i++){
                new Thread(()->{
                    list.add(UUID.randomUUID().toString().substring(0,5));
                    System.out.println(list);
                },String.valueOf(i)).start();
            }
        }



}
